package tech.aistar.day10;

/**
 * 本类用来演示: 线程的实现方式
 *
 * @author: success
 * @date: 2022/8/1 8:55 上午
 */
public class ThreadDemo01 extends Thread{

    /**
     * 多线程都会执行的代码
     */
    @Override
    public void run() { // jvm去调用的
        System.out.println(Thread.currentThread().getName());
    }
}
class ThreadDemo01Test{
    public static void main(String[] args) {
        //1. 创建第一个线程对象
        Thread t1 = new ThreadDemo01();
        Thread t2 = new ThreadDemo01();

        //设置线程的属性,一定要要在启动线程之前设置才会生效
        t1.setName("线程one");
        t2.setName("线程two");

        //设置线程的优先级仅仅也只是尽可能提高线程优先执行的概率
       // t1.setPriority(1);
       // t2.setPriority(2);
        t1.setPriority(Thread.MIN_PRIORITY);
        t1.setPriority(Thread.MAX_PRIORITY);

        //细节
        //1. 并不是先调用哪个线程,就一定会先执行哪个线程 - 主要还是看cpu的

        //启动线程是使用run吗? - 用户
        t1.start();//线程仅仅是进入到就绪态 - 可运行态. - 等待cpu调度
        t2.start();
        //...
        //t1设置属性
    }
}
